import java.util.HashMap;
import java.util.Map;

public class Solution {
    public int longestPalindrome(String s) {
        int len = s.length();

        HashMap<Character, Integer> map = new HashMap<>();

        for (int i = 0; i < len; i++) {
            map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
        }

        //标记是否存在奇数个字母
        boolean flag = false;

        int ret = 0;

        for (Map.Entry<Character, Integer> entry : map.entrySet()) {
            if (entry.getValue() % 2 == 0) {
                ret += entry.getValue();
            } else {
                flag = true;
                ret += (entry.getValue() - 1);
            }
        }

        return flag ? ret + 1 : ret;
    }
}
